package cn.tedu.api;

/**
 * Date：2021年10月
 * Author：程Sir
 * Name： JavaSE-API
 *
 * 执行程序，分析并解决问题
 *
 * 包装类将字符串解析为基本类型时,可能会抛出NumberFormatException异常，
 * 其原因：是当给定的字符串里边含有非整数字符时【-和+添加到整数前面，表示有符号的整数！】
 *
 *
 * @ 程Sir
 *
 */
public class Test {
    public static void main(String[] args) {
        /*
         * 原因: NumberFormatException ,因为num表示字符串含有非整数字符
         */
        String num = "123 ";
        int d = Integer.parseInt(num);
        System.out.println(d);

        /*
         * 原因:NumberFormatException  ,因为num字符串表示的语义是一个小数
         */
        num = "123.456";

        //d = Integer.parseInt(num);
        double dd = Double.parseDouble(num);

        System.out.println(dd);

        /*
         * 是否可以进行解析？ 可以进行解析的，num中的非数值字符"-“表示的语义是一个负整数
         */
        num = "-123";
        d = Integer.parseInt(num);
        System.out.println(d);

        /*
         * 是否可以进行解析？ 可以进行解析的，num中的非数值字符"+“表示的语义是一个正整数
         */
        num = "+123";
        d = Integer.parseInt(num);
        System.out.println(d);

		/*
		 * 是否可以进行解析？
		 * 不可以进行解析，抛出NumberFormatException，因为num表示字符串含有非数值字符
		 */
        num = "!123";
        d = Integer.parseInt(num);
        System.out.println(d);
    }
}
